1. Technical Field
The present invention relates to a digital processing device, more specifically to a method and a device for correcting a code data error.
2. Description of the Related Art
As an example of digital processing devices, portable terminals refer to electronic devices that can be easily carried by making the size compact in order to perform functions such as game and mobile communication. Portable terminals include mobile communication terminals, personal digital assistants (PDA), portable multimedia players (PMP) and car navigation devices.
Among the portable terminals, the mobile communication terminal is essentially a device designed to enable a mobile user to telecommunicate with a receiver who is remotely located. Thanks to scientific development, however, the latest mobile communication terminals have functions, such as camera and multimedia data playback, in addition to the basic functions, such as voice communication, short message service and address book.
FIG. 1 illustrates s a block diagram of a conventional mobile communication terminal having a camera function.
Referring to FIG. 1, the mobile communication terminal 100 having a camera function comprises a high frequency processing unit 110, an analog-to-digital converter 115, a digital-to-analog converter 120, a processing unit 125, a power supply 130, a key input 135, a main memory 140, a display 145, a camera 150, an image processing unit 155 and a support memory 160.
The high frequency processing unit 110 processes a high frequency signal, which is transmitted or received through an antenna.
The analog-to-digital converter 115 converts an analog signal, outputted from the high frequency processing unit 110, to a digital signal and sends to the processing unit 125.
The digital-to-analog converter 120 converts a digital signal, outputted from the processing unit 125, to an analog signal and sends to the high frequency processing unit 110.
The processing unit 125 controls the general operation of the mobile communication terminal 100. The processing unit 125 can comprise a central processing unit (CPU) or a micro-controller.
The power supply 130 supplies electric power required for operating the mobile communication terminal 100. The power supply 130 can be coupled to, for example, an external power source or a battery.
The key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends to the processing unit 125.
The main memory 140 stores an operating system and a variety of data of the mobile communication terminal 100. The main memory 140 can be, for example, a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
The display 145 displays the operation status of the mobile communication terminal 100, relevant information (e.g. date and time) and an external image photographed by the camera 150.
The camera 150 photographs an external image (a photographic subject), and the image processing unit 155 processes the external image photographed by the camera 150. The image processing unit 155 can perform functions such as color interpolation, gamma correction, image quality correction and MEG encoding. The support memory 160 stores the external image processed by the image processing unit 155. The support memory 160 can be an SRAM (Static RAM) or an SDRAM (Synchronous DRAM).
As described above, the mobile communication terminal 100 having a camera function is equipped with a plurality of processing units (that is, a main processor and one or more application processors for performing additional functions). In other words, as shown in FIG. 1, the processing unit 125 for controlling general functions of the mobile communication terminal 100 and the image processing unit 155 for controlling the camera function are included. Each processing unit is structured to be coupled with an independent memory. For example, the main processor can be a baseband chip.
The application processor can take different forms and quantity depending on the kinds of additional functions, with which the portable terminal is equipped. For example, the application processor for controlling the camera function can process functions such as JPEG encoding and JPEG decoding; the application processor for controlling the movie file playback function can process functions such as video file (e.g., MPEG4, DIVX, H.264) encoding and decoding; and the application processor for controlling the music file playback function can process functions such as audio file encoding and decoding. The portable terminal can also comprise an application processor for controlling games. Each of these processing units has an individual memory for storing the processed data.
FIG. 2 is a coupling structure between a processor and a memory in accordance with the prior art.
As illustrated in FIG. 2, a main processor 210 basically has two buses. Typically, the bus refers to a common-purpose electric path used for transmitting information between the processor, main memory and input/output device in a digital processing apparatus. The bus includes a line for information, which represents an address of each device or a location of each memory, and another line for distinguishing various data transmission operation.
The bus has two types, one of which is an MP (main processor)-AP (application processor) bus, forming a host interface to couple to an application processor, and an MP-MM (main memory) bus, coupling to a nonvolatile memory 220 and a first volatile memory 225. The MP-MM bus can be classified into a first bus, which couples to the nonvolatile memory 220, and a second bus, which couples to the volatile memory 225. The nonvolatile memory 220 and the volatile memory 225 can be embodied as one chip by the multi-chip package technology.
The application processor 215 is coupled to the main processor 210 through the MP-AP bus, and a second volatile memory 240 through an AP-AM (application memory) bus. Further, the application processor 215 is coupled to the display 145 and the image sensor 245 through additional buses.
As illustrated in FIG. 2, in accordance with a conventional coupling structure, the main processor 210 and the application processor 215, respectively, are equipped with an exclusive memory. Accordingly, in case that the main processor 210 displays data (e.g. an MPEG file) stored in the first volatile memory through the display 145, the main processor 210 must read respective data and transfer the read data to the application processor 215 through the MP-AP bus. The application processor 215 processes (e.g. decodes) the data transferred from the main processor 210 and displays the processed data through the display 145. In this case, if large data are processed or displayed, the application processor 215 can store the respective data in the second volatile memory 245 and read the stored data at a desired time to process or transfer to the display 145.
As described above, in the conventional coupling structure, the larger the data to be transferred between the main processor 210 and the application processor 215 is, the less efficient the process of the main processor 210 and the application processor 215 becomes. This is because the main processor 210 must read and transfer the large data, and the application processor 215 must write the transferred data in the second volatile memory 245. Also, when processing the respective data, an inside element of the application processor 215 uses the AP-AM bus to access the second volatile memory 245.
The system booting highlights this problem. The general system booting processes are performed in a sequence of the main processor booting and the application booting. This will be described below in detail.
First, once the main power is applied to the main processor 210, the main processor 210 reads through the MP-MM bus boot codes written in a nonvolatile memory 315 and writes the boot codes in a program memory 235. The main processor 210 performs booting by use of the boot codes written in the nonvolatile memory 315. The program memory 235 can be an SDRAM.
Then, the main processor 210 reads through the MP-MM bus the boot codes written in the nonvolatile memory 315 (i.e. boot codes for booting the application processor 215) and transfer the boot codes to the application processor 215 through MP-AP bus. The application processor 215 writes the transferred boot codes in the nonvolatile memory 315 through the AP-AM and then performs booting.
As described above, the application processor 215 must receive the boot codes from the main processor 210 for booting. An error can occur during this operation of receiving the boot codes. Accordingly, although the boot codes must be first checked for any error, the conventional system has not been structured to check for an error. Therefore, if the boot codes contain an error, it would be impossible for the application processor 215 to operate correctly, and thus, the functions (e.g. multimedia and display control) of the application processor 215 cannot be properly operated.